package com.zzedu.enmuns;

import java.util.Arrays;

public enum DictEnums {
    /**
     * 状态字典Key
     */
    STATE("state", "状态字典Key"),
    /**
     * 性别字典Key
     */
    SYS_USER_SEX("sys_user_sex", "性别字典Key"),
    /**
     * 菜单状态字典Key
     */
    SYS_SHOW_HIDE("sys_show_hide", "菜单状态字典Key"),
    /**
     * 系统开关字典Key
     */
    SYS_NORMAL_DISABLE("sys_normal_disable", "系统开关字典Key"),
    /**
     * 任务状态字典Key
     */
    SYS_JOB_STATUS("sys_job_status", "任务状态字典Key"),
    /**
     * 任务分组字典Key
     */
    SYS_JOB_GROUP("sys_job_group", "任务分组字典Key"),
    /**
     * 系统是否字典Key
     */
    SYS_YES_NO("sys_yes_no", "系统是否字典Key"),
    /**
     * 通知类型字典Key
     */
    SYS_NOTICE_TYPE("sys_notice_type", "通知类型字典Key"),
    /**
     * 通知状态字典Key
     */
    SYS_NOTICE_STATUS("sys_notice_status", "通知状态字典Key"),
    /**
     * 操作类型字典Key
     */
    SYS_OPER_TYPE("sys_oper_type", "操作类型字典Key"),
    /**
     * 系统状态字典Key
     */
    SYS_COMMON_STATUS("sys_common_status", "系统状态字典Key"),
    /**
     * 通用状态字典Key
     */
    COMMON_STATE("common_state", "通用状态字典Key"),
    /**
     * 教育层次字典Key
     */
    LEVEL_OF_EDUCATION("level_of_education", "教育层次字典Key"),
    /**
     * 学校类型字典Key
     */
    SCHOOL_TYPE("school_type", "学校类型字典Key"),
    /**
     * 词库类型字典Key
     */
    WORD_TYPE("word_type", "词库类型字典Key"),
    /**
     * 短信类型字典Key
     */
    SMS_TYPE("sms_type", "短信类型字典Key"),
    /**
     * 反馈来源字典Key
     */
    FEEDBACK_SOURCE("feedback_source", "反馈来源字典Key"),
    /**
     * 反馈类型字典Key
     */
    FEEDBACK_TYPE("feedback_type", "反馈类型字典Key"),
    /**
     * 题目类型字典Key
     */
    SUBJECT_TYPE("subject_type", "题目类型字典Key"),
    /**
     * 题目互动类型字典Key
     */
    INTERACTION_TYPE("interaction_type", "题目互动类型字典Key"),
    /**
     * 互动模板字典Key
     */
    INTERACTION_TEMPLATE("interaction_template", "互动模板字典Key"),
    /**
     * 课程等级字典Key
     */
    LEVEL("level", "课程等级字典Key"),
    /**
     * 销售单-签约状态字典Key
     */
    SALE_SIGN_STATE("sale_sign_state", "销售单-签约状态字典Key"),
    /**
     * 销售单-客户等级字典Key
     */
    SALE_CUSTOMER_LEVEL("sale_customer_level", "销售单-客户等级字典Key"),
    /**
     * 销售单-付款状态字典Key
     */
    SALE_PAY_STATE("sale_pay_state", "销售单-付款状态字典Key"),
    /**
     * 账号类型字典Key
     */
    SYS_USER_TYPE("sys_user_type", "账号类型字典Key"),
    /**
     * 星期列表字典Key
     */
    WEEK_LIST("week_list", "星期列表字典Key"),
    /**
     * 销售单-来源渠道字典Key
     */
    SALE_SOURCE_CHANNEL("sale_source_channel", "销售单-来源渠道字典Key"),
    /**
     * 销售单-产品字典Key
     */
    SALE_PRODUCT("sale_product", "销售单-产品字典Key"),
    /**
     * 学生会员类型字典Key
     */
    STU_MEMBER_TYPE("stu_member_type", "学生会员类型字典Key"),
    /**
     * 课程表类型字典Key
     */
    CLASS_TIMETABLE_TYPE("class_timetable_type", "课程表类型字典Key"),
    /**
     * 班级类型字典Key
     */
    CLZZ_CLZZ_TYPE("clzz_clzz_type", "班级类型字典Key"),
    /**
     * 普通班上课频率字典Key
     */
    CLZZ_FREQUENCY("clzz_frequency", "普通班上课频率字典Key"),
    /**
     * 机构类型字典Key
     */
    ORG_TYPE("org_type", "机构类型字典Key"),
    /**
     * 机构渠道字典Key
     */
    AGENT_CHANNEL("agent_channel", "机构渠道字典Key"),
    /**
     * 学校佣金类型字典Key
     */
    SCHOOL_FEE_TYPE("school_fee_type", "学校佣金类型字典Key"),
    /**
     * 学校佣金比例字典Key
     */
    SCHOOL_FEE_RATIO("school_fee_ratio", "学校佣金比例字典Key"),
    /**
     * 绘本显示模块字典Key
     */
    SHOW_MODEL("show_model", "绘本显示模块字典Key"),
    ;

    DictEnums(String code, String desc) {
        this.code = code;
        this.desc = desc;
    }

    private String code;

    private String desc;

    public String getCode() {
        return code;
    }

    public void setCode(String code) {
        this.code = code;
    }

    public String getDesc() {
        return desc;
    }

    public void setDesc(String desc) {
        this.desc = desc;
    }


    public static DictEnums getCode(String code) {

        return Arrays.stream(DictEnums.values()).filter(e -> e.getCode().equals(code)).findFirst().orElse(null);
    }

    @Override
    public String toString() {
        return String.valueOf(code); // 或者 name(), 或者 desc
    }
}
